// $XdotOrg$
// $XKeyboardConfig: xkbdesc/symbols/in,v 1.9 2005/08/04 22:15:10 svu Exp $

// This layout includes all Indian layouts, including:
//     - Bengali
//     - Gujarati 
//     - Kannada 
//     - Malayalam
//     - Oriya 
//     - Tamil
//     - Telugu
//     - Urdu

// Links:
// - Indic INSCRIPT keyboard layout diagrams:
//     http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
// - Ekusheyr Shadhinota (Bengali layouts):
//     http://ekushey.org/projects/shadhinota/index.html
// - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
//     http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx

// based on a keyboard map from an 'xkb/symbols/dev' file

// Devangari is the default. Kill me if I am wrong:)
default partial alphanumeric_keys 
xkb_symbols "deva" {
      name[Group1]= "India";

      key <TLDE> { [      0x100094A, 0x1000912		]	};

      // Mainly numbers.
      key <AE01> { [      0x1000967, 0x100090D 		]	};
      key <AE02> { [      0x1000968, 0x1000945 		]	};
      key <AE03> { [      0x1000969 	 		]	};
      key <AE04> { [      0x100096A  	 		]	};
      key <AE05> { [      0x100096B  	 		]	};
      key <AE06> { [      0x100096C  	 		]	};
      key <AE07> { [      0x100096D                     ]	};
      key <AE08> { [      0x100096e  	 		]	};
      key <AE09> { [      0x100096F, parenleft 		]	};
      key <AE10> { [      0x1000966, parenright 	]	};
      key <AE11> { [      0x1000903 	 		]	};
      key <AE12> { [      0x1000943, 0x100090B 		]	};

// Mainly long vowels

      key <AD01> { [      0x100094C,  0x1000914       	]	};
      key <AD02> { [      0x1000948,  0x1000910       	]	};
      key <AD03> { [      0x100093E,  0x1000906       	]	};
      key <AD04> { [      0x1000940,  0x1000908       	]	};
      key <AD05> { [      0x1000942,  0x100090A       	]	};

// Mainly voiced consonants

      key <AD06> { [      0x100092C,  0x100092D 	]	};
      key <AD07> { [      0x1000939,  0x1000919 	]	};
      key <AD08> { [      0x1000917,  0x1000918 	]	};
      key <AD09> { [      0x1000926,  0x1000927 	]	};
      key <AD10> { [      0x100091C,  0x100091D 	]	};
      key <AD11> { [      0x1000921,  0x1000922		]	};
      key <AD12> { [      0x100093C,  0x100091E		]	};

// Mainly short vowels
      key <AC01> { [      0x100094B,  0x1000913       	]	};
      key <AC02> { [      0x1000947,  0x100090F       	]	};
      key <AC03> { [      0x100094D,  0x1000905       	]	};
      key <AC04> { [      0x100093F,  0x1000907       	]	};
      key <AC05> { [      0x1000941,  0x1000909       	]	};

// Mainly unvoiced consonants

      key <AC06> { [      0x100092A,  0x100092B 	]	};
      key <AC07> { [      0x1000930,  0x1000931 	]	};
      key <AC08> { [      0x1000915,  0x1000916 	]	};
      key <AC09> { [      0x1000924,  0x1000925 	]	};
      key <AC10> { [      0x100091A,  0x100091B 	]	};
      key <AC11> { [      0x100091F,  0x1000920 	]	};
      key <BKSL> { [      0x1000949,  0x1000911 	]	};

      key <AB01> { [      0x1000946,  0x100090E		]	};
      key <AB02> { [      0x1000902,  0x1000901		]	};
      key <AB03> { [      0x100092E,  0x1000923         ]       };
      key <AB04> { [      0x1000928,  0x1000929		]       };
      key <AB05> { [      0x1000935,  0x1000934		]       };
      key <AB06> { [      0x1000932,  0x1000933         ]       };
      key <AB07> { [      0x1000938,  0x1000936         ]       };
      key <AB08> { [      comma,      0x1000937         ]       };
      key <AB09> { [      period,     0x1000964		]       };
      key <AB10> { [      0x100092F,  question		]       };
};

// based on a keyboard map from an 'xkb/symbols/ben' file
//
// $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $

partial alphanumeric_keys
xkb_symbols "ben" {
    name[Group1]= "India - Bengali";

      // Mainly numbers.
      key <AE01> { [      0x10009E7 		]	};
      key <AE02> { [      0x10009E8 		]	};
      key <AE03> { [      0x10009E9 		]	};
      key <AE04> { [      0x10009EA 		]	};
      key <AE05> { [      0x10009EB		]	};
      key <AE06> { [      0x10009EC 		]	};
      key <AE07> { [      0x10009ED	        ]	};
      key <AE08> { [      0x10009EE 		]	};
      key <AE09> { [      0x10009EF, parenleft	]	};
      key <AE10> { [      0x10009E6, parenright	]	};
      key <AE11> { [      minus, 0x1000983 	]	};
      key <AE12> { [      0x100098B, 0x10009C3	]	};

// Mainly long vowels

      key <AD01> { [      0x10009CC,  0x1000994	]	};
      key <AD02> { [      0x10009C8,  0x1000990	]	};
      key <AD03> { [      0x10009BE,  0x1000986	]	};
      key <AD04> { [      0x10009C0,  0x1000988	]	};
      key <AD05> { [      0x10009C2,  0x100098A	]	};

// Mainly voiced consonants

      key <AD06> { [      0x10009AC,  0x10009AD	]	};
      key <AD07> { [      0x10009B9,  0x1000999 ]	};
      key <AD08> { [      0x1000997,  0x1000998 ]	};
      key <AD09> { [      0x10009A6,  0x10009A7 ]	};
      key <AD10> { [      0x100099C,  0x100099D ]	};
      key <AD11> { [      0x10009A1, 0x10009A2 	]	};
      key <AD12> { [      0x10009BC, 0x100099E 	]	};

// Mainly short vowels
      key <AC01> { [      0x10009CB,  0x1000993 ]	};
      key <AC02> { [      0x10009C7,  0x100098F ]	};
      key <AC03> { [      0x10009CD,  0x1000985 ]	};
      key <AC04> { [      0x10009BF,  0x1000987 ]	};
      key <AC05> { [      0x10009C1,  0x1000989 ]	};

// Mainly unvoiced consonants

      key <AC06> { [      0x10009AA,  0x10009AB ]	};
      key <AC07> { [      0x10009B0,  0x10009DD ]	};
      key <AC08> { [      0x1000995,  0x1000996 ]	};
      key <AC09> { [      0x10009A4,  0x10009A5 ]	};
      key <AC10> { [      0x100099A,  0x100099B ]	};
      key <AC11> { [      0x100099F, 0x10009A0 	]	};
      key <BKSL> { [      backslash, bar 	]	};

      key <AB01> { [      z, Z  		]       };
      key <AB02> { [      0x1000982,  0x1000981 ]       };
      key <AB03> { [      0x10009AE,  0x10009A3 ]       };
      key <AB04> { [      0x10009A8,  0x10009A8 ]       };
      key <AB05> { [      0x10009AC,  0x10009AC ]       };
      key <AB06> { [      0x10009B2,  0x10009B2 ]       };
      key <AB07> { [      0x10009B8,  0x10009B6 ]       };
      key <AB08> { [      comma,      0x10009B7 ]       };
      key <AB09> { [      period,     0x1000964 ]       };
      key <AB10> { [      0x10009DF,  0x10009AF	]       };
};

xkb_symbols "ben_probhat" {
 name[Group1]= "India - Bengali Probhat";
   key <ESC>  { [ Escape ] };

// numbers
   key <TLDE> { [ quoteleft, asciitilde   ] };
   key <AE01> { [ 0x10009E7, exclam       ] };
   key <AE02> { [ 0x10009E8, at           ] };
   key <AE03> { [ 0x10009E9, numbersign   ] };
   key <AE04> { [ 0x10009EA, 0x10009F3    ] };
   key <AE05> { [ 0x10009EB, percent      ] };
   key <AE06> { [ 0x10009EC, asciicircum  ] };
   key <AE07> { [ 0x10009ED, 0x100099E    ] };
   key <AE08> { [ 0x10009EE, asterisk     ] };
   key <AE09> { [ 0x10009EF, parenleft    ] };
   key <AE10> { [ 0x10009E6, parenright   ] };
   key <AE11> { [ minus,     0x1000983    ] };
   key <AE12> { [ 0x100098B, 0x10009C3    ] };
   key <BKSP> { [ BackSpace               ] };

// tab, q to ] 
   key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
   key <AD01> { [   0x10009A6,  0x10009A7  ] };
   key <AD02> { [   0x10009C2,  0x100098A  ] };
   key <AD03> { [   0x10009C0,  0x1000988  ] };
   key <AD04> { [   0x10009B0,  0x10009DC  ] };
   key <AD05> { [   0x100099F,  0x10009A0  ] };
   key <AD06> { [   0x100098F,  0x1000990  ] };
   key <AD07> { [   0x10009C1,  0x1000989  ] };
   key <AD08> { [   0x10009BF,  0x1000987  ] };
   key <AD09> { [   0x1000993,  0x1000994  ] };
   key <AD10> { [   0x10009AA,  0x10009AB  ] };
   key <AD11> { [   0x10009C7,  0x10009C8  ] };
   key <AD12> { [   0x10009CB,  0x10009CC  ] };
   key <RTRN> { [   Return                 ] };

// caps, a to ' 
//   key <CAPS> { [   Caps_Lock              ] };
   key <AC01> { [   0x10009BE,  0x1000985  ] };
   key <AC02> { [   0x10009B8,  0x10009B7  ] };
   key <AC03> { [   0x10009A1,  0x10009A2  ] };
   key <AC04> { [   0x10009A4,  0x10009A5  ] };
   key <AC05> { [   0x1000997,  0x1000998  ] };
   key <AC06> { [   0x10009B9,  0x1000983  ] };
   key <AC07> { [   0x100099C,  0x100099D  ] };
   key <AC08> { [   0x1000995,  0x1000996  ] };
   key <AC09> { [   0x10009B2,  0x1000982  ] };
   key <AC10> { [   semicolon,  colon      ] };
   key <AC11> { [   quoteright, quotedbl   ] };

// shift, z to /
//   key <LFSH> { [   Shift_L                ] };
   key <AB01> { [   0x10009DF,  0x10009AF  ] };
   key <AB02> { [   0x10009B6,  0x10009DD  ] };
   key <AB03> { [   0x100099A,  0x100099B  ] };
   key <AB04> { [   0x1000986,  0x100098B  ] };
   key <AB05> { [   0x10009AC,  0x10009AD  ] };
   key <AB06> { [   0x10009A8,  0x10009A3  ] };
   key <AB07> { [   0x10009AE,  0x1000999  ] };
   key <AB08> { [   comma,      0x10009C3  ] };
   key <AB09> { [   period,     0x1000981  ] };
   key <AB10> { [   0x10009CD,  question   ] };
   key <BKSL> { [   backslash,  bar        ] };

//   key <LCTL> { [   Control_L              ] };
//   key <SPCE> { [   space                  ] };

//   modifier_map Shift  { Shift_L };
//   modifier_map Lock   { Caps_Lock };
//   modifier_map Control{ Control_L };

};

partial alphanumeric_keys 
xkb_symbols "guj" {
      name[Group1]= "India - Gujarati";

      // Mainly numbers.
      key <AE01> { [      0x1000AE7, 0x1000A8D 	]	};
      key <AE02> { [      0x1000AE8, 0x1000AC5 	]	};
      key <AE03> { [      0x1000AE9 	 	]	};
      key <AE04> { [      0x1000AEA  	 	]	};
      key <AE05> { [      0x1000AEB  	 	]	};
      key <AE06> { [      0x1000AEC  	 	]	};
      key <AE07> { [      0x1000AED 		]	};
      key <AE08> { [      0x1000AEE  	 	]	};
      key <AE09> { [      0x1000AEF, parenleft 	]	};
      key <AE10> { [      0x1000AE6, parenright ]	};
      key <AE11> { [      minus,     0x1000A83  ]	};
      key <AE12> { [      0x1000A8B, 0x1000AC3 	]	};

// Mainly long vowels

      key <AD01> { [      0x1000ACC, 0x1000A94  ]	};
      key <AD02> { [      0x1000AC8, 0x1000A90  ]	};
      key <AD03> { [      0x1000ABE, 0x1000A86  ]	};
      key <AD04> { [      0x1000AC0, 0x1000A88  ]	};
      key <AD05> { [      0x1000AC2, 0x1000A8A  ]	};

// Mainly voiced consonants

      key <AD06> { [      0x1000AAC, 0x1000AAD 	]	};
      key <AD07> { [      0x1000AB9, 0x1000A99 	]	};
      key <AD08> { [      0x1000A97, 0x1000A98 	]	};
      key <AD09> { [      0x1000AA6, 0x1000AA7 	]	};
      key <AD10> { [      0x1000A9C, 0x1000A9D 	]	};
      key <AD11> { [      0x1000AA1, 0x1000AA2 	]	};
      key <AD12> { [      0x1000ABC, 0x1000A9E 	]	};

// Mainly short vowels
      key <AC01> { [      0x1000ACB, 0x1000A93	]	};
      key <AC02> { [      0x1000AC7, 0x1000A8F	]	};
      key <AC03> { [      0x1000ACD, 0x1000A85  ]	};
      key <AC04> { [      0x1000ABF, 0x1000A87  ]	};
      key <AC05> { [      0x1000AC1, 0x1000A89  ]	};

// Mainly unvoiced consonants

      key <AC06> { [      0x1000AAA, 0x1000AAB 	]	};
      key <AC07> { [      0x1000AB0, guj_rra 	]	};
      key <AC08> { [      0x1000A95, 0x1000A96 	]	};
      key <AC09> { [      0x1000AA4, 0x1000AA5 	]	};
      key <AC10> { [      0x1000A9A, 0x1000A9B 	]	};
      key <AC11> { [      0x1000A9F, 0x1000AA0 	]	};
      key <BKSL> { [      0x1000AC9, 0x1000A91 	]	};

      key <AB01> { [      z        , Z		]       };
      key <AB02> { [      0x1000A82, 0x1000A81	]       };
      key <AB03> { [      0x1000AAE, 0x1000AA3  ]       };
      key <AB04> { [      0x1000AA8, guj_nnna   ]       };
      key <AB05> { [      0x1000AB5, guj_llla   ]       };
      key <AB06> { [      0x1000AB2, 0x1000AB3  ]       };
      key <AB07> { [      0x1000AB8, 0x1000AB6  ]       };
      key <AB08> { [      comma,     0x1000AB7  ]       };
      key <AB09> { [      period,    0x1000964  ]       };
      key <AB10> { [      0x1000AAF, question   ]       };
};

partial alphanumeric_keys 
xkb_symbols "kan" {

    // Inscript layout for Kannada  
    // Author : G Karunakar <karunakar@freedomink.org>
    // Date   : Wed Nov 13 17:22:58 IST 2002
    // Kannada digits mapped in basic only

    name[Group1]= "India - Kannada";

    key <TLDE> { [  0x01000cca, 0x01000c92	] };
    key <AE01> { [  0x01000ce7, 0x01000c8d	] };
    key <AE02> { [  0x01000ce8, 0x01000cc5	] };
    key <AE03> { [  0x01000ce9			] };
    key <AE04> { [  0x01000cea			] };
    key <AE05> { [  0x01000ceb			] };
    key <AE06> { [  0x01000cec			] };
    key <AE07> { [  0x01000ced			] };
    key <AE08> { [  0x01000cee			] };
    key <AE09> { [  0x01000cef			] };
    key <AE10> { [  0x01000ce6			] };
    key <AE11> { [  0x01000c83			] };
    key <AE12> { [  0x01000cc3, 0x01000c8b	] };

    key <AD01> { [  0x01000ccc, 0x01000c94	] };
    key <AD02> { [  0x01000cc8, 0x01000c90	] };
    key <AD03> { [  0x01000cbe, 0x01000c86	] };
    key <AD04> { [  0x01000cc0, 0x01000c88	] };
    key <AD05> { [  0x01000cc2, 0x01000c8a	] };
    key <AD06> { [  0x01000cac, 0x01000cad	] };
    key <AD07> { [  0x01000cb9, 0x01000c99	] };
    key <AD08> { [  0x01000c97, 0x01000c98	] };
    key <AD09> { [  0x01000ca6, 0x01000ca7	] };
    key <AD10> { [  0x01000c9c, 0x01000c9d	] };
    key <AD11> { [  0x01000ca1, 0x01000ca2	] };
    key <AD12> { [  0x01000cbc, 0x01000c9e	] };
 
    key <AC01> { [  0x01000ccb, 0x01000c93	] };
    key <AC02> { [  0x01000cc7, 0x01000c8f	] };
    key <AC03> { [  0x01000ccd, 0x01000c85	] };
    key <AC04> { [  0x01000cbf, 0x01000c87	] };
    key <AC05> { [  0x01000cc1, 0x01000c89	] };
    key <AC06> { [  0x01000caa, 0x01000cab	] };
    key <AC07> { [  0x01000cb0, 0x01000cb1	] };
    key <AC08> { [  0x01000c95, 0x01000c96	] };
    key <AC09> { [  0x01000ca4, 0x01000ca5	] };
    key <AC10> { [  0x01000c9a, 0x01000c9b	] };
    key <AC11> { [  0x01000c9f, 0x01000ca0	] };

    key <AB01> { [  0x01000cc6, 0x01000c8e	] };
    key <AB02> { [  0x01000c82, 0x01000c81	] };
    key <AB03> { [  0x01000cae, 0x01000ca3	] };
    key <AB04> { [  0x01000ca8, 0x01000ca9	] };
    key <AB05> { [  0x01000cb5, 0x01000cb4	] };
    key <AB06> { [  0x01000cb2, 0x01000cb3	] };
    key <AB07> { [  0x01000cb8, 0x01000cb6	] };
    key <AB08> { [  comma     , 0x01000cb7	] };
    key <AB09> { [  period    , 0x01000ce4	] };
    key <AB10> { [  0x01000caf, 0x01000040	] };
    key <BKSL> { [  0x01000cc9, 0x01000c91	] };

    key <RALT> {
	symbols[Group1] = [ Mode_switch, Multi_key ],
	virtualMods = AltGr
    };

};

// Description : A keymap for Malayalam
// Encoding    : Unicode (http://www.unicode.org)
// Author      : Baiju M <baiju@freeshell.org>
// Date        : Sat Aug  17 21:10:48 IST 2002
// Mapping:

partial alphanumeric_keys 
xkb_symbols "mal" {

    name[Group1] = "India - Malayalam";

    //From grave to backslash (\)
    
    key <TLDE> { [ 0x01000d4a , 0x01000d12           ] };

// svu: 
// These lines were in former "mal" variant - 
// but the digits are replaced with the ones from 'mal_plusnum' -
// for the integrity of all Indian layouts
//
//    key <AE01> { [1           ,     exclam           ] }; 
//    key <AE02> { [2           ,         at           ] };
//    key <AE03> { [3           , numbersign           ] };
//    key <AE04> { [4           ,     dollar           ] };
//    key <AE05> { [5           ,    percent           ] };
//    key <AE06> { [6           ,asciicircum           ] };
//    key <AE07> { [7           ,  ampersand           ] };
//    key <AE08> { [8           , 0x01000d7e           ] };
//    key <AE09> { [9           ,  parenleft           ] };
//    key <AE10> { [0           , parenright           ] };

      key <AE01> { [ 0x01000d67 ,      exclam ] };
      key <AE02> { [ 0x01000d68 ,          at ] };
      key <AE03> { [ 0x01000d69 ,  numbersign ] };
      key <AE04> { [ 0x01000d6a ,      dollar ] };
      key <AE05> { [ 0x01000d6b ,     percent ] };
      key <AE06> { [ 0x01000d6c , asciicircum ] };
      key <AE07> { [ 0x01000d6d ,   ampersand ] };
      key <AE08> { [ 0x01000d6e ,  0x01000d7e ] };
      key <AE09> { [ 0x01000d6f ,   parenleft ] };
      key <AE10> { [ 0x01000d66 ,  parenright ] };

    key <AE11> { [ minus      , 0x01000d03           ] };
    key <AE12> { [ 0x01000d43 , 0x01000d0b           ] };
    key <BKSL> { [ 0x01000d7c                        ] };

    // From 'q' to right bracket (])
    
    key <AD01> { [ 0x01000d4c , 0x01000d14 ] };
    key <AD02> { [ 0x01000d48 , 0x01000d10 ] };
    key <AD03> { [ 0x01000d3e , 0x01000d06 ] };
    key <AD04> { [ 0x01000d40 , 0x01000d08 ] };
    key <AD05> { [ 0x01000d42 , 0x01000d0a ] };
    key <AD06> { [ 0x01000d2c , 0x01000d2d ] };
    key <AD07> { [ 0x01000d39 , 0x01000d19 ] };
    key <AD08> { [ 0x01000d17 , 0x01000d18 ] };
    key <AD09> { [ 0x01000d26 , 0x01000d27 ] };
    key <AD10> { [ 0x01000d1c , 0x01000d1d ] };
    key <AD11> { [ 0x01000d21 , 0x01000d22 ] };
    key <AD12> { [ 0x0100200d , 0x01000d1e ] };

    // From 'a' to apostrophe (')
    
    key <AC01> { [ 0x01000d4b , 0x01000d13 ] };
    key <AC02> { [ 0x01000d47 , 0x01000d0f ] };
    key <AC03> { [ 0x01000d4d , 0x01000d05 ] };
    key <AC04> { [ 0x01000d3f , 0x01000d07 ] };
    key <AC05> { [ 0x01000d41 , 0x01000d09 ] };
    key <AC06> { [ 0x01000d2a , 0x01000d2b ] };
    key <AC07> { [ 0x01000d30 , 0x01000d31 ] };
    key <AC08> { [ 0x01000d15 , 0x01000d16 ] };
    key <AC09> { [ 0x01000d24 , 0x01000d25 ] };
    key <AC10> { [ 0x01000d1a , 0x01000d1b ] };
    key <AC11> { [ 0x01000d1f , 0x01000d20 ] };
    
    // From 'z' to slash (/)
    
    key <AB01> { [ 0x01000d46 , 0x01000d0e ] };
    key <AB02> { [ 0x01000d02 , 0x01000d7a ] };
    key <AB03> { [ 0x01000d2e , 0x01000d23 ] };
    key <AB04> { [ 0x01000d28 , 0x01000d7b ] };
    key <AB05> { [ 0x01000d35 , 0x01000d34 ] };
    key <AB06> { [ 0x01000d32 , 0x01000d33 ] };
    key <AB07> { [ 0x01000d38 , 0x01000d36 ] };
    key <AB08> { [ comma      , 0x01000d37 ] };
    key <AB09> { [ period     , 0x01000d7d ] };
    key <AB10> { [ 0x01000d2f , question   ] };

};

partial alphanumeric_keys 
xkb_symbols "ori" {
    // Inscript layout for Oriya  
    // Author: G Karunakar <karunakar@freedomink.org>
    // Date: Wed Nov 13 18:16:19 IST 2002

    name[Group1]= "India - Oriya";
    
    key <TLDE> { [  0x01000b4a, 0x01000b12	] };
    key <AE01> { [  0x01000b67, 0x01000b0d	] };
    key <AE02> { [  0x01000b68, 0x01000b45	] };
    key <AE03> { [  0x01000b69			] };
    key <AE04> { [  0x01000b6a			] };
    key <AE05> { [  0x01000b6b			] };
    key <AE06> { [  0x01000b6c			] };
    key <AE07> { [  0x01000b6d			] };
    key <AE08> { [  0x01000b6e			] };
    key <AE09> { [  0x01000b6f			] };
    key <AE10> { [  0x01000b66			] };
    key <AE11> { [  0x01000b03			] };
    key <AE12> { [  0x01000b43, 0x01000b0b	] };

    key <AD01> { [  0x01000b4c, 0x01000b14	] };
    key <AD02> { [  0x01000b48, 0x01000b10	] };
    key <AD03> { [  0x01000b3e, 0x01000b06	] };
    key <AD04> { [  0x01000b40, 0x01000b08	] };
    key <AD05> { [  0x01000b42, 0x01000b0a	] };
    key <AD06> { [  0x01000b2c, 0x01000b2d	] };
    key <AD07> { [  0x01000b39, 0x01000b19	] };
    key <AD08> { [  0x01000b17, 0x01000b18	] };
    key <AD09> { [  0x01000b26, 0x01000b27	] };
    key <AD10> { [  0x01000b1c, 0x01000b1d	] };
    key <AD11> { [  0x01000b21, 0x01000b22	] };
    key <AD12> { [  0x01000b3c, 0x01000b1e	] };
 
    key <AC01> { [  0x01000b4b, 0x01000b13	] };
    key <AC02> { [  0x01000b47, 0x01000b0f	] };
    key <AC03> { [  0x01000b4d, 0x01000b05	] };
    key <AC04> { [  0x01000b3f, 0x01000b07	] };
    key <AC05> { [  0x01000b41, 0x01000b09	] };
    key <AC06> { [  0x01000b2a, 0x01000b2b	] };
    key <AC07> { [  0x01000b30, 0x01000b31	] };
    key <AC08> { [  0x01000b15, 0x01000b16	] };
    key <AC09> { [  0x01000b24, 0x01000b25	] };
    key <AC10> { [  0x01000b1a, 0x01000b1b	] };
    key <AC11> { [  0x01000b1f, 0x01000b20	] };
 
    key <AB01> { [  0x01000b46, 0x01000b0e	] };
    key <AB02> { [  0x01000b02, 0x01000b01	] };
    key <AB03> { [  0x01000b2e, 0x01000b23	] };
    key <AB04> { [  0x01000b28, 0x01000b29	] };
    key <AB05> { [  0x01000b35, 0x01000b34	] };
    key <AB06> { [  0x01000b32, 0x01000b33	] };
    key <AB07> { [  0x01000b38, 0x01000b36	] };
    key <AB08> { [  comma     , 0x01000b37	] };
    key <AB09> { [  period    , 0x01000b64	] };
    key <AB10> { [  0x01000b2f, 0x01000040	] };
    key <BKSL> { [  0x01000b49, 0x01000b11	] };

    key <RALT> {
	symbols[Group1] = [ Mode_switch, Multi_key ],
	virtualMods = AltGr
    };
};

// INSCRIPT
partial alphanumeric_keys 
xkb_symbols "tam" {
      name[Group1]= "India - Tamil";

      key <TLDE> { [      0x1000BCA, 0x1000B92	]	};

      // Mainly numbers.
      key <AE01> { [      0x1000BE7 		]	};
      key <AE02> { [      0x1000BE8 		]	};
      key <AE03> { [      0x1000BE9 		]	};
      key <AE04> { [      0x1000BEA 		]	};
      key <AE05> { [      0x1000BEB 		]	};
      key <AE06> { [      0x1000BEC 		]	};
      key <AE07> { [      0x1000BED        	]	};
      key <AE08> { [      0x1000BEE 		]	};
      key <AE09> { [      0x1000BEF, parenleft	]	};
      key <AE10> { [      0x1000BF0, parenright	]	};
      key <AE11> { [      0x1000BF1, 0x1000B83  ]	};
      key <AE12> { [      0x1000BF2, plus	] 	};

// Mainly long vowels

      key <AD01> { [      0x1000BCC,  0x1000B94 ]	};
      key <AD02> { [      0x1000BC8,  0x1000B90 ]	};
      key <AD03> { [      0x1000BBE,  0x1000B86 ]	};
      key <AD04> { [      0x1000BC0,  0x1000B88 ]	};
      key <AD05> { [      0x1000BC2,  0x1000B8A ]	};

// Mainly voiced consonants

      key <AD07> { [      0x1000BB9, 0x1000B99	]	};
      key <AD12> { [      0x1000BBC, 0x1000B9E	]	};

// Mainly short vowels
      key <AC01> { [      0x1000BCB,  0x1000B93 ]	};
      key <AC02> { [      0x1000BC7,  0x1000B8F ]	};
      key <AC03> { [      0x1000BCD,  0x1000B85 ]	};
      key <AC04> { [      0x1000BBF,  0x1000B87 ]	};
      key <AC05> { [      0x1000BC1,  0x1000B89 ]	};

// Mainly unvoiced consonants

      key <AC06> { [      0x1000BAA 		]	};
      key <AC07> { [      0x1000BB0,  0x1000BB1 ]	};
      key <AC08> { [      0x1000B95 		]	};
      key <AC09> { [      0x1000BA4 		]	};
      key <AC10> { [      0x1000B9A 		]	};
      key <AC11> { [      0x1000B9F 		]	};
      key <BKSL> { [      backslash, bar 	]	};

      key <AB01> { [      0x1000BC6,  0x1000B8E	]	};
      key <AB02> { [      0x1000B82   		]       };
      key <AB03> { [      0x1000BAE,  0x1000BA3 ]       };
      key <AB04> { [      0x1000BA8,  0x1000BA9 ]       };
      key <AB05> { [      0x1000BB5,  0x1000BB4 ]       };
      key <AB06> { [      0x1000BB2,  0x1000BB3 ]       };
      key <AB07> { [      0x1000BB8		]       };
      key <AB08> { [      comma,      0x1000BB7 ]       };
      key <AB09> { [      period,     0x1000964 ]       };
      key <AB10> { [      0x1000BAF,  question  ]       };
};

partial alphanumeric_keys 
xkb_symbols "tam_unicode" {

// Description: A keymap based on the TamilNet'99 typewriter keyboard 
// Encoding: Unicode (http://www.unicode.org)
// Author: Thuraiappah Vaseeharan <vasee@ieee.org>
// Date  : Sat Feb  9 21:10:48 CST 2002
// Mapping:
  
    name[Group1]= "India - Tamil Unicode";

    // granthas
    key <AE01> {  [ 0x1000b83 ] } ;
    key <AE03> {  [ 0x1000b9c ] } ;
    key <AE04> {  [ 0x1000bb7 ] } ;
    key <AE05> {  [ 0x1000bb8 ] } ;
    key <AE06> {  [ 0x1000bb9 ] } ;
	
    // Qrow
    key <AD01> {  [ 0x1000b9e ] };
    key <AD02> {  [ 0x1000bb1 ] };
    key <AD03> {  [ 0x1000ba8 ] };
    key <AD04> {  [ 0x1000b9a ] };
    key <AD05> {  [ 0x1000bb5 ] };
    key <AD06> {  [ 0x1000bb2 ] };
    key <AD07> {  [ 0x1000bb0 ] };
    key <AD08> {  [ 0x1000bc8, 0x1000b90 ] };
    key <AD09> {  [ 0x1000bca, 0x1000bcb ] };
    key <AD10> {  [ 0x1000bbf, 0x1000bc0 ] };
    key <AD11> {  [ 0x1000bc1, 0x1000bc2 ] };

    // Arow
    key <AC01> { [ 0x1000baf ] };
    key <AC02> { [ 0x1000bb3 ] };
    key <AC03> { [ 0x1000ba9 ] };
    key <AC04> { [ 0x1000b95 ] };
    key <AC05> { [ 0x1000baa ] };
    key <AC06> { [ 0x1000bbe, 0x1000bb4 ] };
    key <AC07> { [ 0x1000ba4 ] };
    key <AC08> { [ 0x1000bae ] };
    key <AC09> { [ 0x1000b9f ] };
    key <AC10> { [ 0x1000bcd ] };
    key <AC11> { [ 0x1000b99 ] };
    
    // Zrow
    key <AB01> { [ 0x1000ba3 ]  };
    key <AB02> { [ 0x1000b92, 0x1000b93 ]  };
    key <AB03> { [ 0x1000b89, 0x1000b8a ]  };
    key <AB04> { [ 0x1000b8e, 0x1000b8f ]  };
    key <AB05> { [ 0x1000bc6, 0x1000bc7 ]  };
    key <AB06> { [ 0x1000b94, 0x1000bcc ]  };
    key <AB07> { [ 0x1000b85, 0x1000b86 ]  };
    key <AB08> { [ 0x1000b87, 0x1000b88 ]  };
};

partial alphanumeric_keys 
xkb_symbols "tam_TSCII" {

// Description	: A Tamil typewrite-style keymap 
//		  loosely based on TamilNet'99 reommendations 
// Encoding	: TSCII (http://www.tscii.org)
// Author	: Thuraiappah Vaseeharan <vasee@ieee.org>
// Last Modified: Sat Jan  5 17:11:26 CST 2002

    name[Group1]= "India - Tamil TSCII Typewriter";

    key <AE01> {  [ 0x10000b7, 0x10000a4 ] }; // aytham
    key <AE02> {  [ 0x1000082, 0x10000a5 ] }; // shri
    key <AE03> {  [ 0x1000083, 0x1000088 ] }; // ja
    key <AE04> {  [ 0x1000084, 0x1000089 ] }; // sha
    key <AE05> {  [ 0x1000085, 0x100008a ] }; // sa
    key <AE06> {  [ 0x1000086, 0x100008b ] }; // ha
    key <AE07> {  [ 0x1000087, 0x100008c ] }; // ksha
	
    // Qrow
    key <AD01> {  [ 0x10000bb, 0x100009a ] }; // nja
    key <AD02> {  [ 0x10000c8, 0x10000da ] }; // Ra
    key <AD03> {  [ 0x10000bf, 0x10000d1 ] }; // NNa
    key <AD04> {  [ 0x10000ba, 0x10000cd ] }; // ca
    key <AD05> {  [ 0x10000c5, 0x10000d7 ] }; // va
    key <AD06> {  [ 0x10000c4, 0x10000d6 ] }; // la
    key <AD07> {  [ 0x10000c3, 0x10000d5 ] }; // ra
    key <AD08> {  [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
    key <AD09> {  [ 0x10000ca, 0x10000cb ] }; // di, dI
    key <AD10> {  [ 0x10000a2, 0x10000a3 ] }; // visiri
    key <AD11> {  [ dead_acute, 0x10000a3 ] }; // Ukaaram

    // Arow
    key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
    key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
    key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
    key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
    key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
    key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
    key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
    key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
    key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
    key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
    key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
    
    // Zrow
    key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
    key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
    key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
    key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
    key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
    key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
    key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
    key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I

};

partial alphanumeric_keys 
xkb_symbols "tam_TAB" {

// Description: A keymap based on the TamilNet'99 typewriter keyboard 
// Encoding: TAB (http://www.tamilnet99.org)
// Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
// Date  : Sun Aug 12 02:23:00 CDT 2001

    name[Group1]= "India - Tamil TAB Typewriter";

    // numeral row
    key <AE01> {  [ 0x10000e7, 0x10000a7 ] } ;
    key <AE02> {  [ 0x10000fa, 0x10000a8 ] } ;
    key <AE03> {  [ 0x10000fb ] } ;
    key <AE04> {  [ 0x10000fc ] } ;
    key <AE05> {  [ 0x10000fd ] } ;
    key <AE06> {  [ 0x10000fe ] } ;
    key <AE07> {  [ 0x10000ff ] } ;
	
    // q-row
    key <AD01> {  [ 0x10000eb, 0x10000b3 ] };
    key <AD02> {  [ 0x10000f8, 0x10000c1 ] };
    key <AD03> {  [ 0x10000ef, 0x10000b8 ] };
    key <AD04> {  [ 0x10000ea, 0x10000b2 ] };
    key <AD05> {  [ 0x10000f5, 0x10000be ] };
    key <AD06> {  [ 0x10000f4, 0x10000bd ] };
    key <AD07> {  [ 0x10000f3, 0x10000bc ] };
    key <AD08> {  [ 0x10000ac, 0x10000e4 ] };
    key <AD09> {  [ 0x10000ae, 0x10000af ] };
    key <AD10> {  [ 0x10000a4, 0x10000a6 ] };
    key <AD11> {  [ dead_circumflex, 0x10000a6 ] }; // Ukaaram

    // a-row
    key <AC01> {  [ 0x10000f2, 0x10000bb ] };
    key <AC02> {  [ 0x10000f7, 0x10000c0 ] };
    key <AC03> {  [ 0x10000f9, 0x10000c2 ] };
    key <AC04> {  [ 0x10000e8, 0x10000b0 ] };
    key <AC05> {  [ 0x10000f0, 0x10000b9 ] };
    key <AC06> {  [ 0x10000a2, 0x10000a3 ] };
    key <AC07> {  [ 0x10000ee, 0x10000b6 ] };
    key <AC08> {  [ 0x10000f1, 0x10000ba ] };
    key <AC09> {  [ 0x10000ec, 0x10000b4 ] };
    key <AC10> {  [ 0x10000f6, 0x10000bf ] };
    key <AC11> {  [ 0x10000e9, 0x10000b1 ] };
    
    // z-row
    key <AB01> {  [ 0x10000ed, 0x10000b5 ] };
    key <AB02> {  [ 0x10000e5, 0x10000e6 ] };
    key <AB03> {  [ 0x10000e0, 0x10000e1 ] };
    key <AB04> {  [ 0x10000e2, 0x10000e3 ] };
    key <AB05> {  [ 0x10000aa, 0x10000ab ] };
    key <AB06> {  [ 0x10000ac, 0x10000a3 ] };
    key <AB07> {  [ 0x10000dc, 0x10000dd ] };
    key <AB08> {  [ 0x10000de, 0x10000df ] };
};

partial alphanumeric_keys 
xkb_symbols "tel" {

    // Inscript layout for Telugu using Unicode 
    // Author: G Karunakar <karunakar@freedomink.org>
    // Date:
    // See layout at http://www.indlinux.org/keymap/telugu.php

    name[Group1]= "India - Telugu";

    key <TLDE> { [  0x01000c4a, 0x01000c12	] };
    key <AE01> { [  0x01000c67, 0x01000c0d	] };
    key <AE02> { [  0x01000c68, 0x01000c45	] };
    key <AE03> { [  0x01000c69, numbersign	] };
    key <AE04> { [  0x01000c6a, dollar		] };
    key <AE05> { [  0x01000c6b, percent		] };
    key <AE06> { [  0x01000c6c, asciicircum	] };
    key <AE07> { [  0x01000c6d, ampersand	] };
    key <AE08> { [  0x01000c6e, asterisk	] };
    key <AE09> { [  0x01000c6f, parenleft	] };
    key <AE10> { [  0x01000c66, parenright	] };
    key <AE11> { [  0x01000c03, underscore	] };
    key <AE12> { [  0x01000c43, 0x01000c0b	] };
    key <BKSP> { [  BackSpace			] };    
 
    key <AD01> { [  0x01000c4c, 0x01000c14	] };
    key <AD02> { [  0x01000c48, 0x01000c10	] };
    key <AD03> { [  0x01000c3e, 0x01000c06	] };
    key <AD04> { [  0x01000c40, 0x01000c08	] };
    key <AD05> { [  0x01000c42, 0x01000c0a	] };
    key <AD06> { [  0x01000c2c, 0x01000c2d	] };
    key <AD07> { [  0x01000c39, 0x01000c19	] };
    key <AD08> { [  0x01000c17, 0x01000c18	] };
    key <AD09> { [  0x01000c26, 0x01000c27	] };
    key <AD10> { [  0x01000c1c, 0x01000c1d	] };
    key <AD11> { [  0x01000c21, 0x01000c22	] };
    key <AD12> { [  0x01000c3c, 0x01000c1e	] };
  
    key <AC01> { [  0x01000c4b, 0x01000c13	] };
    key <AC02> { [  0x01000c47, 0x01000c0f	] };
    key <AC03> { [  0x01000c4d, 0x01000c05	] };
    key <AC04> { [  0x01000c3f, 0x01000c07	] };
    key <AC05> { [  0x01000c41, 0x01000c09	] };
    key <AC06> { [  0x01000c2a, 0x01000c2b	] };
    key <AC07> { [  0x01000c30, 0x01000c31	] };
    key <AC08> { [  0x01000c15, 0x01000c16	] };
    key <AC09> { [  0x01000c24, 0x01000c25	] };
    key <AC10> { [  0x01000c1a, 0x01000c1b	] };
    key <AC11> { [  0x01000c1f, 0x01000c20	] };
 
    key <AB01> { [  0x01000c46, 0x01000c0e	] };
    key <AB02> { [  0x01000c02, 0x01000c01	] };
    key <AB03> { [  0x01000c2e, 0x01000c23	] };
    key <AB04> { [  0x01000c28, 0x01000c29	] };
    key <AB05> { [  0x01000c35, 0x01000c34	] };
    key <AB06> { [  0x01000c32, 0x01000c33	] };
    key <AB07> { [  0x01000c38, 0x01000c36	] };
    key <AB08> { [  comma     , 0x01000c37	] };
    key <AB09> { [  period    , 0x01000c64	] };
    key <AB10> { [  0x01000c2f, 0x01000040	] };
    key <BKSL> { [  0x01000c49, 0x01000c11	] };

    key <RALT> {        
        symbols[Group1] = [ Mode_switch, Multi_key ],
        virtualMods = AltGr
    };
};

partial alphanumeric_keys 
xkb_symbols "urd" {
    include "pc/pk(urd)"
    name[Group1]= "India - Urdu";
};

// based on a keyboard map from an 'xkb/symbols/gur' file

partial alphanumeric_keys
xkb_symbols "guru" {
      name[Group1]= "India - Gurmukhi";

      // Mainly numbers.
      key <AE01> { [      0x1000A67 		]	};
      key <AE02> { [      0x1000A68		]	};
      key <AE03> { [      0x1000A69 	 	]	};
      key <AE04> { [      0x1000A6A  	 	]	};
      key <AE05> { [      0x1000A6B  	 	]	};
      key <AE06> { [      0x1000A6C  	 	]	};
      key <AE07> { [      0x1000A6D 		]	};
      key <AE08> { [      0x1000A6e  	 	]	};
      key <AE09> { [      0x1000A6F, parenleft 	]	};
      key <AE10> { [      0x1000A66, parenright ]	};
      key <AE11> { [      gur_visarga 	 	]	};
      key <AE12> { [      gur_v_r, gur_v_r_s 	]	};

// Mainly long vowels

      key <AD01> { [      0x1000A4C, 0x1000A14  ]	};
      key <AD02> { [      0x1000A48, 0x1000A10  ]	};
      key <AD03> { [      0x1000A3E, 0x1000A06  ]	};
      key <AD04> { [      0x1000A40, 0x1000A08  ]	};
      key <AD05> { [      0x1000A42, 0x1000A0A  ]	};

// Mainly voiced consonants

      key <AD06> { [      0x1000A2C, 0x1000A2D 	]	};
      key <AD07> { [      0x1000A39, 0x1000A19 	]	};
      key <AD08> { [      0x1000A17, 0x1000A18 	]	};
      key <AD09> { [      0x1000A26, 0x1000A27 	]	};
      key <AD10> { [      0x1000A1C, 0x1000A1D 	]	};
      key <AD11> { [      0x1000A21, 0x1000A22 	]	};
      key <AD12> { [      0x1000A3C, 0x1000A1E 	]	};

// Mainly short vowels
      key <AC01> { [      0x1000A4B, 0x1000A13  ]	};
      key <AC02> { [      0x1000A47, 0x1000A0F  ]	};
      key <AC03> { [      0x1000A4D, 0x1000A05  ]	};
      key <AC04> { [      0x1000A3F, 0x1000A07  ]	};
      key <AC05> { [      0x1000A41, 0x1000A09  ]	};

// Mainly unvoiced consonants

      key <AC06> { [      0x1000A2A, 0x1000A2B 	]	};
      key <AC07> { [      0x1000A30, 0x1000A30 	]	};
      key <AC08> { [      0x1000A15, 0x1000A16 	]	};
      key <AC09> { [      0x1000A24, 0x1000A25 	]	};
      key <AC10> { [      0x1000A1A, 0x1000A1B 	]	};
      key <AC11> { [      0x1000A1F, 0x1000A20 	]	};
      key <BKSL> { [      backslash, bar	]	};

      key <AB01> { [		  z, Z		]       };
      key <AB02> { [      0x1000A02, 0x1000A70  ]       };
      key <AB03> { [      0x1000A2E, 0x1000A23  ]       };
      key <AB04> { [      0x1000A28, 0x1000A28  ]       };
      key <AB05> { [      0x1000A35, 0x1000A35  ]       };
      key <AB06> { [      0x1000A32, 0x1000A33  ]       };
      key <AB07> { [      0x1000A38, 0x1000A36  ]       };
      key <AB08> { [      comma,     less       ]       };
      key <AB09> { [      period,    0x1000964  ]       };
      key <AB10> { [      0x1000A2F, question   ]       };
};
